package cn.tedu.m2;

import org.springframework.amqp.AmqpException;
import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.core.MessagePostProcessor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.util.Scanner;

@Component
public class Producer {
    @Autowired
    private AmqpTemplate t;

    //生成者的发送方法，需要手动调用
    public void send(){
        while (true){
            System.out.println("输入消息： ");
            String s=new Scanner(System.in).nextLine();
            t.convertAndSend("task-queue",s);//默认消息是持久化的

            //如果要发送非持久化消息,使用预处理对象对消息的持久化属性重新配置
//            t.convertAndSend("","task-queue",s, new MessagePostProcessor() {
//                @Override
//                public Message postProcessMessage(Message message) throws AmqpException {
//                    //可以重新设置消息的持久属性
//                    //设置完成后，返回这条消息
//                    //之后才会完成消息发送
//                    return null;
//                }
//            });
        }

    }
}
